package com.itaem.community.modules.infrastructure.user.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;

/**
 * <p>项目名称: community </p>
 * <p>文件名称: Gender </p>
 * <p>描述: [类型描述] </p>
 * <p>创建时间: 2020/10/28 </p>
 * <p>作者信息: tomato</p>
 *
 * @author tomato
 * @version v1.0
 */
@Getter
public enum Gender {
    /**
     * 女
     */
    FEMALE(0, "女"),

    /**
     * 男
     */
    MALE(1, "男");

    /**
     * 代码
     */
    @EnumValue
    private Integer code;

    /**
     * 性别
     */
    @JsonValue
    private String gender;

    /**
     * @param code 性别代号
     * @param gender 性别
     */
    Gender(Integer code, String gender) {
        this.code = code;
        this.gender = gender;
    }

    @JsonCreator
    public static Gender getByGender(String gender) {
        for (Gender g : Gender.values()) {
            if (g.getGender().equals(gender)) {
                return g;
            }
        }
        return null;
    }
}
